<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../../lib/vue.js"></script>
</head>
<body>
    <!--
    在父级增加函数，函数负责更新数据状态。然后将函数以属性的形式传递给子组件，
    子组件接收到该函数后可以通过调用该函数更新父级的数据状态。
    -->
    <div id="app">
        <button @click="changeIsShow(!isShow)">显示与隐藏</button>
        <app v-show="isShow" :change-is-show="changeIsShow"></app>
    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            isShow:true
        },
        methods:{
            changeIsShow(isShow){
                this.isShow = isShow;
            }
        },
        components:{
            App:{
                props:{
                    changeIsShow:Function
                },
                data(){
                    return {
                        bol:true
                    }
                },
                template:(`
                    <div style="width:600px;height:300px;background:skyblue;">
                        <button @click="changeIsShow(false)">关闭</button>
                    </div>
                `)
            }
        }
    })
</script>
</html>